<html>
   <head>
      <link rel="stylesheet" type="text/css" href="style.css" />
   </head>
   <body onload="">
<h2 class="comptitle">Msg File <i>src/overlay/pubsubmmog/PubSubMessage.msg</i></h2>
<table class="typetable">
   <tr>
      <th>Name</th>
      <th>Description</th>
   </tr>
<tr>
   <td>
      <a href="PubSubTimerType.html">PubSubTimerType</a>
      <i> (enum)</i>
   </td>
   <td>

   </td>
</tr>
<tr>
   <td>
      <a href="PubSubHelpType.html">PubSubHelpType</a>
      <i> (enum)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubPingType.html">PubSubPingType</a>
      <i> (enum)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubTimer.html">PubSubTimer</a>
      <i> (message)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubJoinCall.html">PubSubJoinCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubJoinResponse.html">PubSubJoinResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubResponsibleNodeCall.html">PubSubResponsibleNodeCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubResponsibleNodeResponse.html">PubSubResponsibleNodeResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubTakeOverSubspaceCall.html">PubSubTakeOverSubspaceCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubTakeOverSubspaceResponse.html">PubSubTakeOverSubspaceResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubSubscriptionCall.html">PubSubSubscriptionCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubSubscriptionResponse.html">PubSubSubscriptionResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubUnsubscriptionMessage.html">PubSubUnsubscriptionMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubHelpCall.html">PubSubHelpCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubHelpResponse.html">PubSubHelpResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubIntermediateCall.html">PubSubIntermediateCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubIntermediateResponse.html">PubSubIntermediateResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubBackupCall.html">PubSubBackupCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubBackupResponse.html">PubSubBackupResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubPingCall.html">PubSubPingCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubPingResponse.html">PubSubPingResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubReplacementMessage.html">PubSubReplacementMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubFailedNodeMessage.html">PubSubFailedNodeMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubNodeLeftMessage.html">PubSubNodeLeftMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubAdoptChildCall.html">PubSubAdoptChildCall</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubAdoptChildResponse.html">PubSubAdoptChildResponse</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubReleaseIntermediateMessage.html">PubSubReleaseIntermediateMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubHelpReleaseMessage.html">PubSubHelpReleaseMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubBackupSubscriptionMessage.html">PubSubBackupSubscriptionMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubBackupIntermediateMessage.html">PubSubBackupIntermediateMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubBackupUnsubscribeMessage.html">PubSubBackupUnsubscribeMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubMoveMessage.html">PubSubMoveMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
<tr>
   <td>
      <a href="PubSubMoveListMessage.html">PubSubMoveListMessage</a>
      <i> (packet)</i>
   </td>
   <td>
<i>(no description)</i>
   </td>
</tr>
</table>
<h3 class="subtitle">Source code:</h3>
<pre class="src"><span style="color: #808080; font-style: italic; ">//
// Copyright (C) 2006 Institut fuer Telematik, Universitaet Karlsruhe (TH)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
</span><span style="color: #000000; ">
</span><span style="color: #808080; font-style: italic; ">//
// @file PubSubMessage.msg
// </span><span style="color: #000080; ">@author</span><span style="color: #808080; font-style: italic; "> Stephan Krause
//
</span><span style="color: #000000; ">
</span><span style="color: #800000; font-weight: bold; ">cplusplus</span><span style="color: #000000; "> {{
#</span><span style="color: #000000; ">include</span><span style="color: #000000; "> &lt;</span><span style="color: #000000; ">CommonMessages_m</span><span style="color: #000000; ">.</span><span style="color: #000000; ">h</span><span style="color: #000000; ">&gt;
#</span><span style="color: #000000; ">include</span><span style="color: #000000; "> &lt;</span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; ">.</span><span style="color: #000000; ">h</span><span style="color: #000000; ">&gt;

</span><span style="color: #000000; ">static</span><span style="color: #000000; "> </span><span style="color: #000000; ">const</span><span style="color: #000000; "> </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_FLAG_L</span><span style="color: #000000; "> = </span><span style="color: #008000; ">8</span><span style="color: #000000; ">;
</span><span style="color: #000000; ">static</span><span style="color: #000000; "> </span><span style="color: #000000; ">const</span><span style="color: #000000; "> </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_VECTOR_L</span><span style="color: #000000; "> = </span><span style="color: #008000; ">128</span><span style="color: #000000; ">;
</span><span style="color: #000000; ">static</span><span style="color: #000000; "> </span><span style="color: #000000; ">const</span><span style="color: #000000; "> </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_RESS_L</span><span style="color: #000000; "> = </span><span style="color: #008000; ">32</span><span style="color: #000000; ">;
</span><span style="color: #000000; ">static</span><span style="color: #000000; "> </span><span style="color: #000000; ">const</span><span style="color: #000000; "> </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> = </span><span style="color: #008000; ">32</span><span style="color: #000000; ">;
</span><span style="color: #000000; ">static</span><span style="color: #000000; "> </span><span style="color: #000000; ">const</span><span style="color: #000000; "> </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_CHILDPOS_L</span><span style="color: #000000; "> = </span><span style="color: #008000; ">16</span><span style="color: #000000; ">;
</span><span style="color: #000000; ">static</span><span style="color: #000000; "> </span><span style="color: #000000; ">const</span><span style="color: #000000; "> </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_TIMESTAMP_L</span><span style="color: #000000; "> = </span><span style="color: #008000; ">32</span><span style="color: #000000; ">;

#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_JOINCALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_VECTOR_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_RESS_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_JOINRESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_RESPONSIBLENODECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_VECTOR_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_RESPONSIBLENODERESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_TAKEOVERSUBSPACECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_VECTOR_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_TAKEOVERSUBSPACERESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">))
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_SUBSCRIPTIONCALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_SUBSCRIPTIONRESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_FLAG_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_UNSUBSCRIPTION_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_HELPCALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_FLAG_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_HELPRESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_INTERMEDIATECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_INTERMEDIATERESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">))
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_BACKUPCALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">msg</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">getIntermediatesArraySize</span><span style="color: #000000; ">()*</span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">msg</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">getChildrenArraySize</span><span style="color: #000000; ">()*(</span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">+</span><span style="color: #000000; ">PUBSUB_CHILDPOS_L</span><span style="color: #000000; ">))
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_BACKUPRESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">))
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_PINGCALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_FLAG_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_PINGRESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">))
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_REPLACEMENT_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_FAILEDNODE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">IPADDR_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">UDPPORT_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_NODELEFT_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_ADOPTCHILDCALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) + </span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_ADOPTCHILDRESPONSE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">BASECALL_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">))
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_RELEASEINTERMEDIATE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_HELPRELEASE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_BACKUPSUBSCRIPTION_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">*</span><span style="color: #008000; ">3</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_BACKUPINTERMEDIATE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_CHILDPOS_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_BACKUPUNSUBSCRIBE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">*</span><span style="color: #008000; ">2</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_MOVE_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_VECTOR_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_TIMESTAMP_L</span><span style="color: #000000; ">)
#</span><span style="color: #000000; ">define</span><span style="color: #000000; "> </span><span style="color: #000000; ">PUBSUB_MOVELIST_L</span><span style="color: #000000; ">(</span><span style="color: #000000; ">msg</span><span style="color: #000000; ">) (</span><span style="color: #000000; ">PUBSUB_SUBSPACE_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">PUBSUB_TIMESTAMP_L</span><span style="color: #000000; "> + </span><span style="color: #000000; ">msg</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">getPlayerArraySize</span><span style="color: #000000; ">()*(</span><span style="color: #000000; ">NODEHANDLE_L</span><span style="color: #000000; ">+</span><span style="color: #000000; ">PUBSUB_VECTOR_L</span><span style="color: #000000; ">))

}}



</span><span style="color: #800000; font-weight: bold; ">class</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">noncobject</span><span style="color: #000000; "> </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; ">;

</span><span style="color: #800000; font-weight: bold; ">class</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">noncobject</span><span style="color: #000000; "> </span><span style="color: #000000; ">TransportAddress</span><span style="color: #000000; ">;

</span><span style="color: #800000; font-weight: bold; ">class</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">noncobject</span><span style="color: #000000; "> </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; ">;

</span><span style="color: #800000; font-weight: bold; ">class</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">;


</span><span style="color: #800000; font-weight: bold; ">class</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">;


</span><span style="color: #800000; font-weight: bold; ">class</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">;



</span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubTimerType</span><span style="color: #000000; "> 
{

    </span><span style="color: #000000; ">PUBSUB_HEARTBEAT</span><span style="color: #000000; "> = </span><span style="color: #008000; ">0</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_CHILDPING</span><span style="color: #000000; "> = </span><span style="color: #008000; ">1</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_PARENT_TIMEOUT</span><span style="color: #000000; "> = </span><span style="color: #008000; ">2</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_TAKEOVER_GRACE_TIME</span><span style="color: #000000; "> = </span><span style="color: #008000; ">3</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_EVENTDELIVERY</span><span style="color: #000000; "> = </span><span style="color: #008000; ">4</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubHelpType</span><span style="color: #000000; ">
{

    </span><span style="color: #000000; ">PUBSUB_BACKUP</span><span style="color: #000000; "> = </span><span style="color: #008000; ">0</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_INTERMEDIATE</span><span style="color: #000000; "> = </span><span style="color: #008000; ">1</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubPingType</span><span style="color: #000000; ">
{

    </span><span style="color: #000000; ">PUBSUB_PING_BACKUP</span><span style="color: #000000; "> = </span><span style="color: #008000; ">0</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_PING_INTERMEDIATE</span><span style="color: #000000; "> = </span><span style="color: #008000; ">1</span><span style="color: #000000; ">;
    </span><span style="color: #000000; ">PUBSUB_PING_CHILD</span><span style="color: #000000; "> = </span><span style="color: #008000; ">2</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">message</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubTimer</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">type</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; ">(</span><span style="color: #000000; ">PubSubTimerType</span><span style="color: #000000; ">);
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubJoinCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; "> </span><span style="color: #000000; ">position</span><span style="color: #000000; ">;
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">ressources</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubJoinResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">responsibleNode</span><span style="color: #000000; ">;
        </span><span style="color: #808080; font-style: italic; ">// FIXME: Position's missing
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubResponsibleNodeCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspacePos</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">//FIXME: send subspaceId as int
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubResponsibleNodeResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">responsibleNode</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubTakeOverSubspaceCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspacePos</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">//FIXME: send subspaceId as int
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubTakeOverSubspaceResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspacePos</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">//FIXME: send subspaceId as int // Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubSubscriptionCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubSubscriptionResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">bool</span><span style="color: #000000; "> </span><span style="color: #000000; ">failed</span><span style="color: #000000; "> = </span><span style="color: #008000; ">false</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubUnsubscriptionMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">src</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubHelpCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">helpType</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; ">(</span><span style="color: #000000; ">PubSubHelpType</span><span style="color: #000000; ">);
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubHelpResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">helpType</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; ">(</span><span style="color: #000000; ">PubSubHelpType</span><span style="color: #000000; ">); </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">node</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubIntermediateCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubIntermediateResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubBackupCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">intermediates</span><span style="color: #000000; ">[];
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">children</span><span style="color: #000000; ">[];
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">childrenPos</span><span style="color: #000000; ">[];
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubBackupResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubPingCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">pingType</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">enum</span><span style="color: #000000; ">(</span><span style="color: #000000; ">PubSubPingType</span><span style="color: #000000; ">);
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubPingResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubReplacementMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">newResponsibleNode</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubFailedNodeMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000000; ">TransportAddress</span><span style="color: #000000; "> </span><span style="color: #000000; ">failedNode</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubNodeLeftMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">node</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubAdoptChildCall</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseCallMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">child</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubAdoptChildResponse</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseResponseMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">child</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// Not counted in length: could easily be stored locally!
</span><span style="color: #000000; ">}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubReleaseIntermediateMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubHelpReleaseMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">node</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubBackupSubscriptionMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">child</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">parent</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">oldParent</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubBackupIntermediateMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">node</span><span style="color: #000000; ">;
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">pos</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubBackupUnsubscribeMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">child</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">intermediate</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubMoveMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">simtime_t</span><span style="color: #000000; "> </span><span style="color: #000000; ">timestamp</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">player</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; "> </span><span style="color: #000000; ">position</span><span style="color: #000000; ">;
}

</span><span style="color: #800000; font-weight: bold; ">packet</span><span style="color: #000000; "> </span><span style="color: #000000; ">PubSubMoveListMessage</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">BaseOverlayMessage</span><span style="color: #000000; ">
{
        </span><span style="color: #000080; font-weight: bold; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">subspaceId</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">simtime_t</span><span style="color: #000000; "> </span><span style="color: #000000; ">timestamp</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">NodeHandle</span><span style="color: #000000; "> </span><span style="color: #000000; ">player</span><span style="color: #000000; ">[];
        </span><span style="color: #000000; ">Vector2D</span><span style="color: #000000; "> </span><span style="color: #000000; ">position</span><span style="color: #000000; ">[];
        </span><span style="color: #000000; ">simtime_t</span><span style="color: #000000; "> </span><span style="color: #000000; ">positionAge</span><span style="color: #000000; ">[];
}

</span></pre>
   <hr><p class="footer"><a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top"><img src="by-sa.png"></a> This documentation is released under the <a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top">Creative Commons license</a></p>
   </body>
</html>
